﻿using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace 货物监控
{

    public class PushLine
    {
        public string headerId { get; set; }
        public string orderID { get; set; }
        public int MSite { get; set; }
    }

    // 任务主表
    public class XY_task
    {
        public string F_Id { get; set; }
        public string headerId { get; set; }
        public string timeStamp { get; set; }
        public string orderID { get; set; }
        public string movement_type { get; set; }
        public string SAP { get; set; }
        public int MState { get; set; }
        public string TBarCode { get; set; }
        public string MStation { get; set; }
        public string MTime { get; set; }
        public string MWay { get; set; }

        /// <summary>
        /// 打印文件路径 = DN号+TU号+item号
        /// </summary>
        public string PrintTask
        {
            get;
            set;
        }
        public string SU { get; set; }
        public enum WorkSite
        {
            导入 = 0,
            扫码 = 10,//(通过DN号、Item、SU号,获取在文件盘中的文件); 
            写入程序 = 20,
            缠膜 = 30,
            贴标 = 40,
            读贴标码 = 42,//(确认无误后, 回传MQTT, 从文件盘中将文件剪切到已完成的文件夹中)
            定位 = 50,
            提升机 = 60,
            打包运走 = 70,//(下料工位，AGV搬运，发送任务给MQTT)
            存放完成 = 80,
            发货 = 90,
        }

        public enum PrintState
        {
            正在测纸或RFID校准 = 6,
            就绪 = 0,
            正在打印 = 4,
            打印头抬起 = 87,
            暂停状态 = 88,
            读贴标码 = 42,
            删除任务 = 5,
            读功率过高 = 111,


            编码失败 = 109,
            盘点不到RFID标签 = 13,
            请重新进行RFID校准 = 111,

            纸张探测器校准失败 = 111,
            纸张探测器出错 = 83,
            碳带出错 = 82,
            吸贴标失败 = 12
        }
        public enum WorkState
        {
            进入 = 0,
            进行中 = 1,
            完成 = 2,
        }

        public enum WorkImport
        {
            MQTT = 0,
            EXCEL = 1,
        }
    }

    // 任务子表
    public class XY_taskdetail
    {

        //        Tid 编号
        //item TO SU托数
        //material_number 零件号
        //qty TO SU 总数
        //storage_unit_number SU号
        //vendor_code
        //package_id
        //pickup_station_storage_type
        //pickup_station_storage_section
        //pickup_station_storage_bin
        //dropdown_station_storage_type
        //dropdown_station_storage_section
        //dropdown_station_storage_bin    TO DN 号
        //zero_stock_check
        //order_cancel
        //storage_unit_type
        //Tcid 外键

        public string F_Id { get; set; }        // ID
        public string orderID { get; set; }     // 订单号

        public string item { get; set; }

        public int qty { get; set; }
        public string material_number { get; set; }
        public string storage_unit_number { get; set; }
        public string vendor_code { get; set; }
        public string package_id { get; set; }

        public string pickup_station_storage_type { get; set; }
        public string pickup_station_storage_section { get; set; }

        public string pickup_station_storage_bin { get; set; }
        public string dropdown_station_storage_type { get; set; }

        public string dropdown_station_storage_section { get; set; }

        public string dropdown_station_storage_bin { get; set; }
        public string zero_stock_check { get; set; }

        public string order_cancel { get; set; }
        public string storage_unit_type { get; set; }

        // 托盘标签打印任务
        public string PrintTask { get; set; }
        /// <summary>
        /// 托盘标签打印任务
        /// </summary>
        public string IsTo { get; set; }
        /// <summary>
        /// 工位
        /// </summary>
        public int MSite { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public int MState { get; set; }

        /// <summary>
        /// 托盘标签码
        /// </summary>
        public string MBarCode { get; set; }

        /// <summary>
        /// 回调时间
        /// </summary>
        public string CallTime { get; set; }
        /// 回调内容
        public string CallText { get; set; }

        public string Tcid { get; set; }
        // 扫码时获取
        public string HU {get;set;}
        // 创建时间
        public string F_CreatorTime { get; set; }
    }

    // 零件表
    public class XY_part
    {
        public string F_Id { get; set; }       // ID
        public string PNumber { get; set; }   // 零件号
        public string PDirection { get; set; }  // 长短边
        public string PStacking { get; set; }  // 堆叠
        public string PWrapping { get; set; } // 缠膜
        public string PPaying { get; set; }     // 打标
        public string PCustom { get; set; }     // MQTT
        public string PEdittime { get; set; }  // 最后一次维护时间
        public string POperator { get; set; }   // 维护人
        /// <summary>
        /// 取货位方向
        /// </summary>
        public enum PickDirection
        {
            短边 = 0,
            长边 = 1,
        }
    }

    // 发货计划表
    public class XY_plan
    {
        public string F_Id { get; set; }        // 编号
        public string XPriority { get; set; }   // 优先级
        public string XName { get; set; }       // 名称
        public string XGoTime { get; set; }     // 计划发货日期
        public string XToTime { get; set; }     // 计划到达日期
        public string XGoType { get; set; }     // 发货类型
        public string XGoOrder { get; set; }    // 发货单号
        public string XCustomName { get; set; } // 客户名称
        public string XToCity { get; set; }     // 到货城市
        public string PNumber { get; set; }     // 零件号
        public string XGoNumber { get; set; }   // 发货数量
        public int XPileNum { get; set; }       // 托数
        public string XPDName { get; set; }     // 客户物流名称
    }

    // 装车货物详细
    public class XY_DressTaskdetail
    {
        public string F_Id { get; set; }        // ID
        public string DN { get; set; }          // DN号
        public string SpareParts { get; set; }  // 零件号
        public string SU { get; set; }          // SU号
        public string HU { get; set; }          // HU号
        public int PCS { get; set; }            // PSC
        public string DNSum { get; set; }       // DN总数
        public string DCid { get; set; }
    }
    // 装车数据表
    public class XY_DressCar
    {

        public string F_Id { get; set; }        // ID

        public string DLicensePlateNumber { get; set; }//车牌号

        public string DName { get; set; }           // 司机名称

        public string DCall { get; set; }           //电话

        public string DInformation { get; set; }    //自带货信息 

        public string DZInformation { get; set; }   //自填信息 

        public string DPassWay { get; set; }    // 出货通道

        public string Dremarks1 { get; set; }   // 备注1

        public string Dremarks2 { get; set; }   // 备注2

        public string Dremarks3 { get; set; }   // 备注3

        public string DCtime { get; set; }      //操作时间

        public string DUname { get; set; }   // 操作员

        public int DCount { get; set; }

        public int DSum { get; set; }  
         
    }


    // 尼桑配置表
    public class XY_Nissan
    {

        public string Nid { get; set; }  // id

        public string NcustomerName { get; set; }  // 客户名称

        public string NcustomerCode { get; set; }  // 客户标签

        public string NpartNum { get; set; }       // 零件号

        public string Nadd { get; set; }           // 所在地

        public string Ntime { get; set; }          // 创建时间

        public string Npersonnel { get; set; }     // 创建人
    }

    // AGV车位
    public class XY_ParkingLot
    {
        /// <summary>
        /// 车位号
        /// </summary>
        public int ID { get; set; }  // ID

        public string TO { get; set; }  // 订单号

        public string DN { get; set; }  // DN号

        public string LJ { get; set; } // 零件号

        public string HU { get; set; }  // HU号

        public string SU { get; set; }  // SU号

        public int OID { get; set; }    // 上下托


    }

    // 位置
    public class view_Task
    {
        public string MState { get; set; }
        public string storage_unit_number { get; set; }
        public string XGoTime { get; set; }
        public string XGoOrder { get; set; }
        public string PNumber { get; set; }
        public string XPileNum { get; set; }
        public string XGoNumber { get; set; }
        public string orderID { get; set; }
        public string dropdown_station_storage_bin { get; set; }
        public string material_number { get; set; }
        public string ToSapTime { get; set; }
        public int item { get; set; }
        public int qty { get; set; }

        public string HU { get; set; }

        public int PCS { get; set; }


        public string count70 { get; set; }
        public string qty70 { get; set; }
        public string count90 { get; set; }
        public string qty90 { get; set; }

        public string state { get; set; }



    }


}
